1
跨異質叢集的可移植性架構
AI022Lesson 2
00:00

其核心在於 可移植性異質運算介面(HIP) 在於它能將硬體特定的工具鏈抽象為統一的 C++ 執行時 API。透過採用 單一來源模式,開發者可以維持一個程式碼庫,動態對應至 NVIDIA 或 AMD 後端。

1. 基於路徑的硬體解析

該架構依賴環境標記作為建置系統的導航錨點。這些標記會告知 hipcc 編譯器包裝器應在哪裡尋找必要的設備函式庫與標頭檔。

  • CUDA_PATH: NVIDIA 運算堆疊的主要錨點(NVCC/PTX 工作流程)。
  • HIP_PATH: AMD ROCm 運算堆疊的主要錨點(Clang/LLVM 工作流程)。
HIP 源碼NVIDIA 堆疊$CUDA_PATHAMD ROCm 堆疊$HIP_PATH異質叢集

2. 抽象運算堆疊

可移植性是透過將應用層與微架構分離來實現的。邏輯於建置階段使用 hipcc解決,確保 $O(1)$ 的程式碼維護可帶來 $O(N)$ 的硬體相容性。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>